﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CapaDeEntidades;
using CapaNegocio;

namespace Biblioteca
{
    public partial class RenovarPrestamo : System.Web.UI.Page
    {
        public object SocioLogueado
        {
            get { return Session["Socio"]; }
            set { Session["Socio"] = value; }
        }

        public object indexSelectedRow
        {
            get { return Session["indexSelectedRow"]; }
            set { Session["indexSelectedRow"] = value; }
        }

        void Page_PreInit(object sender, EventArgs e)
        {
            Socio socio = new Socio();
            socio = (Socio)SocioLogueado;
            socio.Usuario = "admin";
            if (socio.Usuario == "admin")
                MasterPageFile = "~/MasterPageAdministrador.Master";
            else
                MasterPageFile = "~/MasterMenu.Master";
        }



        protected void dtLibros_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (indexSelectedRow != null)
            {
                int index = Convert.ToInt32(indexSelectedRow.ToString());

                GridViewRow row = dtLibros.Rows[index];

                Libro libro = new Libro();

                libro.IdLibro = Convert.ToInt32(dtLibros.Rows[index].Cells[2].Text);
                libro.Isbn = Convert.ToInt32(dtLibros.Rows[index].Cells[5].Text);
                libro.Autor = dtLibros.Rows[index].Cells[4].Text;
                libro.Titulo = dtLibros.Rows[index].Cells[3].Text;



                lblIdPrestamo.Text = dtLibros.Rows[index].Cells[1].Text;
                lblIsbn.Text = libro.Isbn.ToString();
                lblAutor.Text = libro.Autor.ToString();
                lblTitulo.Text = libro.Titulo.ToString();
                lblcodigo.Text = libro.IdLibro.ToString();


                if (Controladora.consultarDisponibilidadRenovarPrestamoLibro(Convert.ToInt32(lblNumeroSocio.Text), libro.IdLibro, libro.CantEj))

                    lblDisponibilidad.Text = "Disponible";
                else
                    lblDisponibilidad.Text = "No Disponible";

            }

        }


        protected void Page_Load(object sender, EventArgs e)
        {
            Socio socio = (Socio)Session["Usuario"];
            dtLibros.DataSource = Controladora.ObtenerPrestamosPorSocio(socio.Codigo);
            dtLibros.DataBind();
            SocioLogueado = socio;
            lblNumeroSocio.Text = socio.Codigo.ToString();
            lblNombre.Text = socio.NombreApellido.ToString();
            this.PreInit += new EventHandler(Page_PreInit);
        }

        protected void btnRegistrar_Click(object sender, EventArgs e)
        {
            if (lblNumeroSocio.Text != "" && lblcodigo.Text != "" && lblIdPrestamo.Text != "")
            {
                if (Controladora.GenerarPrestamo(DateTime.Now, (Convert.ToInt32(lblcodigo.Text)), (Convert.ToInt32(lblNumeroSocio.Text))))
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Registracion exitosa", "alert(' La registracion ha sido exitosa ');", true);
                }
                else
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Error Registracion", "alert(' Ha ocurrido un error en la registracion, por favor vuelva a intentarlo mas tarde');", true);
            }
        }


        protected void dtLibros_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                // Se obtiene indice de la row seleccionada

                int index = Convert.ToInt32(e.CommandArgument);
                indexSelectedRow = index;


            }
        }




    }
}
